- •Глава 1. Постановка задачи, формирование требований к системе 8
- •Глава 2. Проектирование архитектуры системы и описание логики взаимодействия ее компонентов 16
- •Глава 3. Разработка 31
- •Список сокращений и условных обозначений
- •Введение
- •Глава 1. Постановка задачи, формирование требований к системе
- •1.1 Функциональные и нефункциональные требования к системе
- •1.1.1 Функциональные требования
- •1.1.2 Нефункциональные требования
- •Глава 2. Проектирование архитектуры системы и описание логики взаимодействия ее компонентов
- •2.1 Системная архитектура
- •2.2 Взаимодействие с бэкендом
- •2.3 Интеграция с Access Control и pip Service
- •2.3.1 Конфигурация прав доступа в Access Control
- •2.3.2 Конфигурация расширенных прав доступа в pip Service
- •2.4 Микрофронтенд архитектура
- •2.4.1 Microservices ui Platform Framework
- •2.5 Архитектура данных
- •Глава 3. Разработка
- •3.1 Создание и регистрация Hiring фрагмента
- •3.2. Создание пользовательской роли hr Hiring
- •3.3. Маршрутизация
- •3.3.1 Hiring в глобальном меню Host Application
- •3.3.2 Маршрутизация в Hiring
- •3.4 Vault ldap-аутентификация
- •3.5 Примеры реализации функциональности компонентов системы
- •3.5.1 Создание Hiring Request’а
- •3.5.1.1 Отправка формы по нажатию кнопки “Submit”
- •3.5.2 Поиск Hiring Request’а по названию
- •3.5.3 Настройка видимости колонок таблиц дашбордов
- •3.5.4 Оправка нотификации “Send to Payroll Group”
- •3.5.5 Работа с документами
- •3.6 Выдача прав доступа
- •3.7 Модули проекта
- •3.8 Демонстрация интерфейса веб-приложения
- •3.9 Тестирование
- •Заключение
- •Список использованных источников
- •Приложение а
CОДЕРЖАНИЕ
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ 5
ВВЕДЕНИЕ 6
Глава 1. Постановка задачи, формирование требований к системе 8
1.1 Функциональные и нефункциональные требования к системе 8
1.1.1 Функциональные требования 9
1.1.2 Нефункциональные требования 15
Глава 2. Проектирование архитектуры системы и описание логики взаимодействия ее компонентов 16
2.1 Системная архитектура 16
2.2 Взаимодействие с бэкендом 18
2.3 Интеграция с Access Control и PIP Service 19
2.3.1 Конфигурация прав доступа в Access Control 21
2.3.2 Конфигурация расширенных прав доступа в PIP Service 22
2.4 Микрофронтенд архитектура 23
2.4.1 Microservices UI Platform Framework 25
2.5 Архитектура данных 26
Глава 3. Разработка 31
3.1 Создание и регистрация Hiring фрагмента 31
3.2. Создание пользовательской роли HR Hiring 32
3.3. Маршрутизация 32
3.3.1 Hiring в глобальном меню Host Application 32
3.3.2 Маршрутизация в Hiring 33
3.4 Vault LDAP-аутентификация 34
3.5 Примеры реализации функциональности компонентов системы 36
3.5.1 Создание Hiring Request’а 36
3.5.2 Поиск Hiring Request’а по названию 38
3.5.3 Настройка видимости колонок таблиц дашбордов 39
3.5.4 Оправка нотификации “Send to Payroll Group” 41
3.5.5 Работа с документами 44
3.6 Выдача прав доступа 45
3.7 Модули проекта 46
3.8 Демонстрация интерфейса веб-приложения 48
3.9 Тестирование 49
ЗАКЛЮЧЕНИЕ 50
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 51
ПРИЛОЖЕНИЕ А 52
Список сокращений и условных обозначений
ERP – основная корпоративная система управления персоналом
HRS Side – корпоративная система, модулем которой является Hiring
FR – functional requirement
NFR – non-functional requirement
PAP – policy administration point
PDP – policy decision point
PEP – policy enforcement point
PIP – policy information point
Bundle – совокупность программных данных, связанных каким-либо признаком
BDD – behavior-driven development
Введение
Веб-приложение Hiring – это внутренний корпоративный проект, глобальной целью разработки которого является автоматизация и систематизация необходимой бумажной работы на всех этапах найма сотрудника, уведомление о найме всех заинтересованных лиц компании, в том числе отдела финансов и отдела кадров, синхронизация данных о найме с корпоративной системой отдела кадров и основной внутренней корпоративной системой управления персоналом путем интеграции с ними.
После одобрения кандидатуры на должность в Hiring запускается процесс оформления сотрудника: создается Hiring Request (“заявка на найм”), c котором происходит дальнейшая работа в системе. Заполняется информация о сотруднике, собираются необходимые для найма документы, данные о сотруднике передаются во все корпоративные ведомства, а также происходит процесс согласования условий работы, таких как дата выхода сотрудника, его график, необходимое IT-оборудование и так далее.
На рисунке A1 представлена BPMN-диаграмма [1], демонстрирующая end-to-end бизнес-процесс прохождения Hiring Request’а через основные этапы найма:
Ежедневная автоматическая интеграция (действие 1, рис. А1), поддерживающая актуальность данных,
Создание пользователем Hiring Request’а (действие 2.1, рис. А1), генерация системой списка документов (действие 2.2, рис. А1),
Отправка пользователем нотификации “IT Equipment Request” (действие 3, рис. А1), при получении которой в основной корпоративной системе управления персоналом, ERP, записываются данные сотрудника, и нотификации “New Hire” (действие 4, рис. А1), инициирующей создание профиля сотрудника в ERP, а также процесс синхронизации Hiring и ERP (действие 5, рис. А1) для дальнейшего связывания аккаунтов этих систем (действие 6, рис. А1),
В зависимости от входных условий пользователь имеет возможность отправить нотификацию одному (или двум) из следующих отделов: Payroll Group (действие 7, рис. А1) и Finance Group (действие 12, рис. А1). Отправка нотификации в Payroll Group инициирует процесс синхронизации Hiring и системы Payroll Group. Перед отправкой нотификаций пользователь может обновить список прикрепленных документов (действие 14, рис. А1), сгенерировать PEP-форму (действие 13, рис. А1) и прикрепить документы к Hiring Request’y (действие 11, рис. А1).
После отправки перечисленных нотификаций все основные этапы найма сотрудника являются пройденными. Во время работы с Hiring Request’ом пользователь может сгенерировать отчет по Hiring Request’ам (действие 9, рис. А1), завершить (действие 8, рис. А1) или отменить найм сотрудника (действие 10, рис. А1).